#ifndef _GLRPI_WIDGET_HEADER_
#define _GLRPI_WIDGET_HEADER_

/********************************************************************\
                            Includes
\********************************************************************/
#include <QGLWidget>

/********************************************************************\
                          Declaration
\********************************************************************/
class GlRpiWidget : public QGLWidget
{
    Q_OBJECT

  public:
    GlRpiWidget(QWidget *parent = 0);
    virtual ~GlRpiWidget();

    QSize minimumSizeHint() const;
    QSize sizeHint() const;
 
  protected:
    virtual void initializeGL();
    virtual void paintGL();

    virtual void resizeGL(int width, int height);
    virtual void keyPressEvent( QKeyEvent *event );

    virtual void drawRpi();
    virtual void drawTexts();

private:
    void initLight();
    void initMaterial();
    void drawSphere(float alpha, float scale, float tx, float ty, float tz);
};

#endif
